/*
        The directives starting with # below ensures that this file is read by the compiler only once
        even if it is #included several times. It is call an "include guard"
*/
#ifndef CATEGORY_H_
#define CATEGORY_H_

#include <string>
#include <sstream>
#include <iomanip>		//KLB - SAP3

using namespace std;

struct Category {
public:
        // constructors
        Category(int id, string name) :cat_id(id), cat_name(name) {} //TD

    // utility functions
        string display() const                  //used to verify whether it has stored the information
        {
                stringstream ss;
                ss << "Category(" << cat_id << ", " << setw(14) << cat_name << ")";		//KLB - SAP3 added the setw()
                return ss.str();
        }
        
        //Getters
        int id_get()            const {return cat_id;}
        string name_get()       const {return cat_name;}

private:
   //constants
     
   // private data
        int cat_id;
        string cat_name;
};

#endif //CATEGORY_H_